package week3;

import java.util.*;
import java.util.Scanner;
class Pair{
	int x;
	int y;
	Pair(int x, int y) {
		this.x = x;
		this.y = y;
	}
}
public class 递归_1360_有序分数 {
	static int n;
	static List<Pair> list = new ArrayList<>();
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		n = scan.nextInt();
		System.out.println("0/1");
		dfs(0,1,1,1);
		// 得到的结果默认是从小到大有序的 不需要排序
		for (Pair p : list) {
			System.out.println(p.x + "/" + p.y);
		}
		System.out.println("1/1");

		scan.close();
	}
	// b分子 a分母 d分子 c分母
	public static void dfs(int b,int a,int d, int c) {
		// 分母相加大于目标n则返回
		if(a + c > n) {
			return;
		}
		// 递归左侧  b/a b+d/a+c 分子相加作为分子 分母相加作为分母
		dfs(b,a,b+d,a+c);
		list.add(new Pair(b+d,a+c));
		// 递归右侧
		dfs(b+d,a+c,d,c);
		
	}
}
